If goal belongs_to user, and you want to list,show and maybe change the
user for goals but not change the user itself, steps are:
- disable AS-crud calls:
config.columns[:user].form_ui = :select # or :chosen, :record_select, best
choice depends on how many records you will have
- disable links in goal list which call controller renderers
conf.list.columns[:user].link = false
AS by default, will try to render the user by calling .to_label method, so
if that's enought for you, just remember to define that method in the user
model
def to_label
name
end
or if you want something more sophisticated, use helpers:
GoalHelper:
def goal_user_column(record, column)
"<div> #{record.name} " # add fancy stuff here
end
or you can define specific renderers for list AND show separately
def goal_user_show_column...
def goal_user_list_column ...
On Mon, Apr 29, 2013 at 4:43 PM, JESii <[email protected]> wrote:
> Thanks; since I never expect to let the user update their information from
> this or similar views, I'd prefer to avoid setting up a 'dummy' controller.
> I just need to user_id to constrain what is displayed and update the record
> appropriately, leaving all the other CRUD stuff out.
>
> However, I'm not at all clear on how I can setup a helper (controller
> helper, I presume) to deal with this issue. Any suggestions on where I
> should start looking?
>
> I would think this would be a good addition to the documentation, since
> Devise is so prevalent in the Rails community.
>
> Thanks...jon
>
>
> On Monday, April 29, 2013 12:44:38 PM UTC-7, Hernán Astudillo wrote:
>
>> it is looking for a controller for User because the other controller is
>> aware that there's a User associated to one column and by default it adds
>> all Active Scaffold stuff available for it, that includes full CRUD,
>> search, views, etc. For that is why it needs a controller.
>>
>> You could add a basic controller for that:
>>
>> rails g active_scaffold_controller members::users
>>
>> just be careful that the route must be different from devise one
>> You can use any name for the controller if this is an issue for you. Add
>> this to application_controller:
>>
>> def active_scaffold_controller_**for(klass)
>> return YourControllerNameHereControll**er if klass == User
>> end
>>
>> or, you can get rid of all controller things related, and just leave a
>> helper to render what user should look like.
>>
>>
>>
>> On Mon, Apr 29, 2013 at 3:19 PM, JESii <[email protected]> wrote:
>>
>>> Thanks for the response, Herman... I tried that but still getting the
>>> problem. Here's my updated controller for Goals:
>>> active_scaffold :goal do |config|
>>> config.list.columns = [:statement]
>>> config.create.columns = [:statement]
>>> config.show.columns = [:statement]
>>> config.update.columns = [:statement]
>>> config.update.link.label = "Edit Goal"
>>> config.show.link.label = "Show Goal"
>>> config.create.link.label = "Add a new Goal"
>>> end
>>>
>>> I'm still getting the 'nil' error, but on a couple of occasions I got an
>>> error like this:
>>> ActionView::Template::Error (Could not find Members::UsersController
>>> or Members::UserController or UsersController or UserController):
>>>
>>> I'm using Devise, so there's no explicit Users controller. The
>>> reference to 'members' is because I have a number of models/controllers
>>> that are all grouped under members/.
>>>
>>> ...jon
>>>
>>>
>>> On Monday, April 29, 2013 9:03:55 AM UTC-7, Hernán Astudillo wrote:
>>>
>>>> your problem is your controller:
>>>>
>>>> config.columns = [:statement]
>>>>
>>>> here, you're excluding globally all columns except statement. Therefore,
>>>> user doesn't exist.
>>>>
>>>> If you want to list only that column, use:
>>>>
>>>>
>>>> config.list.columns = [:statement]
>>>>
>>>> same for show, edit, create.
>>>>
>>>>
>>>>
>>>> On Sat, Apr 27, 2013 at 6:55 PM, JESii <[email protected]> wrote:
>>>>
>>>>> Sorry; I was actually using AS 3.3.0.rc3 from github master...jon
>>>>>
>>>>>
>>>>> On Saturday, April 27, 2013 2:03:57 PM UTC-7, JESii wrote:
>>>>>>
>>>>>> I have an application with ActiveScaffold (gem - 3.2.20) which has many
>>>>>> error symptoms: . Ruby version 1.9.3p194, Rails, 3.2.12 using the asset
>>>>>> pipeline. Things display OK, but Create, Edit, Show, Delete all give a
>>>>>> 500 internal error. It's an asset pipeline enabled, and I have the AS
>>>>>> css and js included in the assets setup.
>>>>>>
>>>>>>
>>>>>> The details are in a pastie at http://pastie.org/7730509#1
>>>>>>
>>>>>>
>>>>>> Any suggestions for what I'm doing wrong would be most appreciated.
>>>>>>
>>>>>>
>>>>>> Thanks...jon
>>>>>>
>>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "ActiveScaffold : Ruby on Rails Gem" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to activescaffol...@**googlegroups.**com.
>>>>> To post to this group, send email to actives...@googlegroups.**com.
>>>>>
>>>>> Visit this group at http://groups.google.com/**group**
>>>>> /activescaffold?hl=en-US<http://groups.google.com/group/activescaffold?hl=en-US>
>>>>> .
>>>>> For more options, visit
>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "ActiveScaffold : Ruby on Rails Gem" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to activescaffol...@**googlegroups.com.
>>> To post to this group, send email to actives...@googlegroups.**com.
>>> Visit this group at http://groups.google.com/**
>>> group/activescaffold?hl=en-US<http://groups.google.com/group/activescaffold?hl=en-US>
>>> .
>>> For more options, visit
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "ActiveScaffold : Ruby on Rails Gem" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/activescaffold?hl=en-US
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"ActiveScaffold : Ruby on Rails Gem" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/activescaffold?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.