Tag: 变量

使用动态变量渲染部分rails

我试图根据用户所在的分类单元渲染部分内容。 在我的application.html.erb布局中,我有以下代码行: 在taxons控制器中,在show方法中,我有: @taxon_id = params[:id].split(‘/’).first 在分类单位#show我有: 当我运行它时,我得到一个SyntaxError。 但是在分类中#show如果我只是输入: 没有’= true’然后页面呈现,输出’@enable_women’。 所以我知道它正在获取正确的变量,我只需要将该变量设置为true。 我错过了什么? 非常感谢。

如何使用angularjs和ui路由器从rails获取实例变量?

我在我的状态路由器中使用模板。 我想从我的rails服务器获取一个实例变量,但它没有自己的路径,所以我不能使用Restangular或类似的东西。 此外,当我尝试插值时: #{@variable} 没有任何反应,因为我在我的ui路由器中的模板中,而不是在rails视图中。 那么如何从我的rails服务器获取一个实例变量到ui-router模板中的angularjs? 编辑: ahaa ….就像这样传递它: ng-init=”variablename = ‘variable'” 在我的情况下: ng-init=”varname = ‘#{@variable}’ ” 重要的是要注意两件事:1。“在……”中2.在你的RAILS VIEW中传递此信息,然后用ui-view =“”将其传递给ui路由器 然后在ui模板中,你可以说{{varname}}它应该在那里:)

Rails没有将Symbol隐式转换为Integer

我正在尝试创建一个私有方法,根据一些数据库数据进行一些计数,如下所示。 class ApplicationController 0).count.to_i @count[:venues_rejected] = Venue.where(:is_approved => 2).count.to_i @count[:venue_photos_pending] = VenuePhoto.where(:is_approved => 0).count.to_i @count[:venue_photos_rejected] = VenuePhoto.where(:is_approved => 2).count.to_i @count[:venue_reviews_pending] = VenueReview.where(:is_approved => 0).count.to_i @count[:venue_reviews_rejected] = VenueReview.where(:is_approved => 2).count.to_i end end 错误: 没有将Symbol隐式转换为Integer

Ruby on Rails:在视图中使用帮助程序初始化实例变量

我遇到了某种类型的范围问题,它阻止实例变量被视图调用的助手正确初始化。 #sample_controller.rb class SampleController < ApplicationController def test end end #application_controller.rb helper_method :display def display if not defined? @display return @display = "a" else return @display += "a" end end #test.html.erb 当显示样品/测试时,它会在“评估nil.reverse”时出现错误。 这是令人惊讶的,因为显示的前两个调用应该初始化@display我会想到。 如果删除,则输出为“a aa”,表示辅助方法正在设置@display实例变量,但视图中无法访问它。 如果控制器被修改成为(使用原始视图代码): class SampleController < ApplicationController def test display end end 输出变成“aa aaa aa”。 如果我在控制器中进行2次调用,我会得到“aaa aaaa aa aa”。 因此,似乎只有控制器中的调用才会修改SampleController实例变量,而视图中的调用将修改视图无法访问的ApplicationController的实例变量。 这是Rails中的错误还是我的误解,这是出于某种原因预期的function? 我遇到这个bug的上下文是试图创建一个logged_in? […]

Rails 4:将变量传递给javascript

我已经尝试了很多方法并且遵循了Ryan Bates的指南,但无论我做什么,我仍然未定义。 application.html.erb </body application.js.erb var datadump = ($(‘#trackers’).data(‘trackers’)) console.log(datadump) //returns undefined in console 查看页面源我可以看到变量 我现在正在传递User.count只是为了保持简单,但我需要传递@trackers_count,它在应用程序控制器的before_action中实例化。 一旦我在这里找出问题,我应该能够解决这个问题。 有什么建议? 更新 – 我已将所有变量简化为仅跟踪器,而不是trackers_count,以防止语法和更新代码中的任何错误反映出来。 答案更新 – 我选择了正确的答案,因为如果你想传递任何变量ASIDE FROM CURRENT_USER那些方法是完美的。 但是,您无法使用JS中的current_user访问任何内容,因为它在窗口之前加载,因此无法知道current_user是谁。 这是一个真正的痛苦,但我只是做了很长的路,并通过传入json和ajax请求访问我需要的信息。

在check_box_tag的onclick函数中传递rails变量

我正在使用rails 3.0。 在我看来,我正在尝试为每行创建一个带有复选框的表,以及具有特定参数的onclick事件函数,这些参数是rails变量 “addPlayerToField(,);”)%> … 我尝试了很多方法而且没有实现这一目标。 我知道joueurs.gch变量不是空的并且存在beacaus我在其他地方使用它。 我想生成类似的东西:

如何设置一个等于javascript变量的rails变量?

我想做一些类似于如何将Javascript变量传递给Rails控制器的东西? 但我似乎无法让它符合我的目的。 我正在使用拖放jQuery将“项目”转移到“pods”。 这是我的代码: function onReceive(id,pod_id){ var id = id; var pod_id = pod_id; confirm(“Add ” +id + ” to ” + pod_id + “?”); } 我想要做的是这样的事情: function onReceive(id,pod_id){ } 但我知道解决方案并不那么容易。 如何将id和pod_id传递给我的控制器? 理想情况下,我想将其传递给更新操作。 PS:我根本不认识AJAX,所以如果这是唯一的方式,请提供详细信息……

通过Assets Pipeline,Rails 3.1 rc1携带Sass变量

我最近用3.1 rc1分支了我的一个Rails 3.0项目来尝试新的资产管道。 在进入3.1之前我一直在项目中使用Sass所以我在一个单独的配置文件中设置了一些变量和函数,让我所有的其他sass文件在第一行导入一个文件。 这样做非常好,不会在样式表中重复一些颜色代码和一般几何体。 问题是现在新的Assets Pipeline是我已经知道它将“.css.sass”文件转换为原始css,然后将其附加到其余代码。 所以,如果我在“application.css”中指定: /* *= require ./configure *= require ./what_ever_other_files_i_want_to_import */ 我得到的错误如下: Sass::SyntaxError Undefined variable: “$interactive”. 当我尝试从以下位置访问该文件时: http://localhost:3000/assets/application.css 有任何想法吗?

Rails 4 CSV导入值并将值设置为键值

我是一个完整的Rails n00b,我确信这是一件容易的事,但我遇到了麻烦。 我想在我的URL中获取密钥的值,并将其设置为我的数据库中记录的:category_id,因为我从csv导入该记录。 我可以通过在我的csv文件中创建category_id字段并使用以下代码导入文件来使其工作 def self.import(file) CSV.foreach(file.path, headers: true) do |row| record = Manufacturer.where(:category_id => row[1], :name => row[0] ).first_or_create record.save! end end 但是这需要将category_id添加到csv ..我想要做的就是这样 def self.import(file) CSV.foreach(file.path, headers: true) do |row| record = Manufacturer.where(:category_id => @category, :name => row[0] ).first_or_create record.save! end end 其中@category在URL中设置。 类似于:… localhost:3000 / manufacturers / import_manufacturer / 2?category_id = 2这保存了我的记录但是将类别id设置为“null” […]

未定义的局部变量或方法’current_user’

我目前正在阅读一个RoR教程( http://railstutorial.org/chapters/sign-in-sign-out#sec:signin_success是相关部分),这似乎相当不错,尽管我遇到过尝试查看示例站点时出现以下问题。 Extracted source (around line #10): 7: 8: 9: 10: 11: 12: delete %> 13: 如您所见,问题源于我的方法“signed_in?” 应该通过检查current_user变量是否已设置来检查用户是否已登录(我已经从帮助程序中包含了其余代码以提供上下文,道歉): module SessionsHelper def sign_in(user) cookies.permanent.signed[:remember_token] = [user.id, user.salt] current_user = user end def sign_out cookies.delete[:remember_token] current_user = nil end def current_user= (user) @current_user ||= user_from_remember_token end def signed_in? !current_user.nil? end private def user_from_remember_token User.authenticate_with_salt(*remember_token) end def remember_token […]