Hey all,
I have a table helper. Basically I want only certain tables to have a
view link for each record. Im not sure the best way to achieve this but
the way I can up with is to check if the model contains a certain method
such as viewable and if it does, then you create the link in a table
cell:
def table(collection, header_names, fields, class_name)
return false unless collection.any?
table_str = ""
table_str += "<table id=\"" + class_name + "\" class=\"" + class_name
+ "\">\n"
table_str += "\t<thead>\n"
table_str += "\t\t<tr>\n"
header_names.each do |name|
table_str += "\t\t\t<th>"
table_str += name
table_str += "</th>\n"
end
table_str += "\t\t</tr>\n"
table_str += "\t</thead>\n"
table_str += "\t<tbody>\n"
collection.each do |col|
table_str += "\t\t<tr>\n"
fields.each do |name|
table_str += "\t\t\t<td>\n"
table_str += col[name].to_s
table_str += "\t\t\t</td>\n"
if
params[:controller].singularize.constantize.responds_to(:viewable)
table_str += "\t\t\t\t<td>\n"
table_str += link_to "Edit", edit_ +
params[:action].singularize + _path
table_str += "\t\t\t\t</td>\n"
end
end
table_str += "\t\t</tr>\n"
end
table_str += "\t</tbody>\n"
table_str += "</table>\n"
table_str.html_safe
end
This file is located in helpers/layout_helper
Right now I get error: "wrong constant name user" when trying to display
the users page.
Or perhaps there's a better way to determine whether you want to have a
link available for certain views (note this is not role-based user
authorization but rather some views will be editable and others not
period regardless of user)?
Thanks for response.
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.